import xlwt

print('---------------- 创建一个 Excel ----------------')
wb = xlwt.Workbook()

print('---------------- 选择工作簿 ----------------')
sh = wb.add_sheet('数据')


print('------------------------------------------- 设置样式 ------------------------------')
ft = xlwt.Font()
ft.name = '微软雅黑'    # 设置字体
ft.colour_index = 2    # 设置颜色
ft.height = 12 * 20   # 设置字体大小,要乘20，要不然字体太小
ft.bold = True          # 加粗
ft.underline = True     # 下划线
ft.italic = True        # 斜体

# 设置边框
# 细实线:1，小粗实线:2，细虚线:3，中细虚线:4，大粗实线:5，双线:6，细点虚线:7
# 大粗虚线:8，细点划线:9，粗点划线:10，细双点划线:11，粗双点划线:12，斜点划线:13
border = xlwt.Borders()
border.left = 1
border.right = 1
border.top = 1
border.bottom = 1
border.left_colour = 1
border.right_colour = 2
border.top_colour = 3
border.bottom_colour = 4

# 设置背景颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5

# 设置对齐方式
alg = xlwt.Alignment()
alg.horz = 2 # 1左对齐, 2居中对齐, 3右对齐
alg.vert = 1 # 0上对齐, 1居中对齐, 2下对齐

# 设置单元格高度
sh.row(0).height_mismatch = True
sh.row(0).height = 9 * 256
# 设置单元格宽度
sh.col(0).width = 20 * 256

# 设置总体样式
style = xlwt.XFStyle()
style.font = ft
style.alignment = alg
style.borders = border
style.pattern = pattern

print('------------------------------------------ 写数据到指定的单元格 ----------------------')
sh.write(0, 0, '姓名', style)
sh.write(0, 1, '年龄')
sh.write(0, 2, '战力值')

sh.write(1, 0, '吕布', style)
sh.write(1, 1, '27', )
sh.write(1, 2, '10w', style)

print('---------------- 保存 Excel ----------------')
wb.save('../02.py_excelFile/设置表格样式.xlsx')